package com.ruoyi.common.core.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.annotation.Excel.Type;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.xss.Xss;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 用户对象 sys_user
 *
 * @author ruoyi
 */
@Data
public class SysFeeUserDoc {
    /**
     * ID
     */
    private String id;

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 部门ID
     */
    @Excel(name = "部门编号", type = Type.IMPORT)
    private String deptId;

    /**
     * 用户账号
     */
    @Excel(name = "登录名称")
    private String userName;

    /**
     * 用户昵称
     */
    @Excel(name = "用户名称")
    private String address;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 备注
     */
    private String remark;


    /**
     * 用户邮箱
     */
    @Excel(name = "用户邮箱")
    private String year;

    /**
     * 用户邮箱
     */
    @Excel(name = "用户邮箱")
    private String month;

    /**
     * 手机号码
     */
    @Excel(name = "手机号码")
    private Double money;

    /**
     * 用户头像
     */
    private String userType;

    /**
     * 手机号码
     */
    @Excel(name = "手机号码")
    private Double waterCount;

    /**
     * 手机号码
     */
    @Excel(name = "手机号码")
    private Double waterMoney;

    /**
     * 用户头像
     */
    private String userCode;

    /**
     * 用户头像
     */
    private String waterCode;

    /**
     * 用户ID
     */
    @Excel(name = "加密用户序号", cellType = ColumnType.NUMERIC, prompt = "加密用户序号")
    private String secretUserId;



    public SysFeeUserDoc(SysFeeUser sysFeeUser) {
        this.id = sysFeeUser.getId();
        this.userId = sysFeeUser.getUserId();
        this.deptId = sysFeeUser.getDeptId();
        this.address = sysFeeUser.getAddress();
        this.userName = sysFeeUser.getUserName();
        this.address = sysFeeUser.getAddress();
        this.year = sysFeeUser.getYear();
        this.month = sysFeeUser.getMonth();
        this.money = sysFeeUser.getMoney();
        this.userType = sysFeeUser.getUserType();
        this.waterCount = sysFeeUser.getWaterCount();
        this.waterMoney = sysFeeUser.getWaterMoney();
        this.userCode = sysFeeUser.getUserCode();
        this.waterCode = sysFeeUser.getWaterCode();
        this.createBy = sysFeeUser.getCreateBy();
        this.createTime = sysFeeUser.getCreateTime();
        this.updateBy = sysFeeUser.getUpdateBy();
        this.updateTime = sysFeeUser.getUpdateTime();
        this.remark = sysFeeUser.getRemark();
        this.secretUserId =sysFeeUser.getSecretUserId();
    }
}